package com.leyou.order.controller;

import com.leyou.order.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RestController // 默认响应的是JSON，如果指定了produces：就是你指定的类型
public class PayController {

    @Autowired
    private OrderService orderService;

    /**
     * 微信通知我们支付的结果
     * @param msg： 我们把xml转成对象
     * @return      ： 返回给微信，返回是map，springmvc会帮我们转成xml，因为指定了 produces
     */
    @PostMapping(value="/pay/notify", produces = "application/xml")
    public Map<String, String> payNotify(
            // 默认情况下也是把json转成对象 ， 如果我们指定xml的配置，它会把xml转成对象
            @RequestBody Map<String, String> msg
    ){
        orderService.payNotify(msg);
        Map<String, String> returnMsg = new HashMap<>();
        returnMsg.put("return_code", "SUCCESS");
        returnMsg.put("return_msg", "OK");
        return returnMsg;
    }
}
